package Day18.ObjectStream;

/**
 * @version 1.0
 * @BelongsProject:IntelliJ IDEA
 * @BelongsPackage:Day18.ObjectStream
 * @Author:hyhWTX
 * @ClassName:Demo01ObjectOutputStream
 * @CreateTime:2022年-09月-26日 11:56
 * @Description: TODO (一句话描述以下该类的功能)
 */

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
 *java.io.ObjectOutputStream extends OutputStream
 * ObjectOutputStream:对象的序列化流
 * 作用:把对象以流的方式写入到文件中保存
 *
 * 构造方法：
 *      ObjectOutputStream(OutputStream out)创建写入指定OutputStream的 ObjectOutputStream。
 *      参数:
 *          OutputStream out :字节输出流
 * 特有的成员方法:
 *      void writeObject(Object obj）将指定的对象写入、ObjectOutputStream。
 *
 * 使用步骤：
 *      1.创建OutputStream对象，构造方法中传递字节输出流
 *      2.使用OutputStream对象中的方法writeObject，把对象写入到文件中
 *      3.释放资源。
 *
 */

public class Demo01ObjectOutputStream {
    public static void main(String[] args) throws IOException {
        //1.创建OutputStream对象，构造方法中传递字节输出流
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\java黑马\\src\\Day18\\ObjectStream\\person.txt"));
        //2.使用OutputStream对象中的方法writeObject，把对象写入到文件中
        oos.writeObject(new Person("张三",18));
        //3.释放资源。
        oos.close();

//        ObjectOutputStream obs = new ObjectOutputStream(new FileOutputStream("D:\\java黑马\\src\\Day18\\ObjectStream\\student.txt"));
//        obs.writeObject(new Student("张三",23,"xx市"));
//        obs.close();

    }
}
